前言
API是個類似介面的東西,它提供一個窗口讓大家去做eBay的操作,這邊打個比方。
一個人去銀行(API)要選擇你要做什麼事情,去相關的櫃檯(窗口)去處理,櫃檯會詢問你要做什麼事情,並且驗證你的身分(Token),你只需要把你的需求(參數),還有要做什麼事情(呼叫哪個服務),他就會幫你去做操作,譬如你要查詢你的帳戶餘額,那麼可能需要驗證你的身分,他會跟你說(回傳)你餘額多少錢,API的概念差不多是這樣,不過這是指WEB APIs(網站應用程式)。
工具與環境
目前使用PHP&MySQL(WAMP)&PHP5_SimpleTrading來作開發。
申請eBay開發者帳號
申請網址:https://go.developer.ebay.com/
申請好後,登入進去,然後幫使用者申請帳號,
並且綁定開發者帳號綁定網址:http://sandbox.ebay.com/
會看到這個頁面
然後輸入eBay帳號密碼,如果第一次可能需要語音驗證,eBay那邊會用程式打電話過來,會唸一串數字記得記錄下來,才能來做綁定動作,並且獲取到Token。
實戰篇
Key.php 設定
<?php
error_reporting(E_ALL);
// these keys can be obtained by registering at http://developer.ebay.com
$production = TRUE; // toggle to true if going against production
$compatabilityLevel = 890; // eBay API version
if ($production) {
$devID = 'my dev'; // these prod keys are different from sandbox keys
$appID = 'my app';
$certID = 'certID';
//set the Server to use (Sandbox or Production)
$serverUrl = 'https://api.ebay.com/ws/api.dll'; // server URL different for prod and sandbox
//the token representing the eBay user to assign the call with
$userToken = '';
} else {
// sandbox (test) environment
$devID = 'DDD_SAND'; // insert your devID for sandbox
$appID = 'AAA_SAND'; // different from prod keys
$certID = 'CCC_SAND'; // need three 'keys' and one token
//set the Server to use (Sandbox or Production)
$serverUrl = 'https://api.sandbox.ebay.com/ws/api.dll';
// the token representing the eBay user to assign the call with
// this token is a long string - don't insert new lines - different from prod token
$userToken = 'SANDBOX_TOKEN';
}
?>
範例一(取得ebay時間)
<?php
require_once('keys.php');
require_once('eBaySession.php');
//SiteID must also be set in the Request's XML
//SiteID = 0 (US) - UK = 3, Canada = 2, Australia = 15, ....
//SiteID Indicates the eBay site to associate the call with
$siteID = 0;
//the call being made:
$verb = 'GeteBayOfficialTime';
//Level / amount of data for the call to return (default = 0)
$detailLevel = 0;
///Build the request Xml string
$requestXmlBody = <<<XML
<?xml version="1.0" encoding="utf-8" ?>
<GeteBayOfficialTimeRequest xmlns="urn:ebay:apis:eBLBaseComponents">
<RequesterCredentials>
<eBayAuthToken>$userToken</eBayAuthToken>
</RequesterCredentials>
</GeteBayOfficialTimeRequest>
XML;
//Create a new eBay session with all details pulled in from included keys.php
$session = new eBaySession($userToken, $devID, $appID, $certID, $serverUrl, $compatabilityLevel, $siteID, $verb);
//send the request and get response
$responseXml = $session->sendHttpRequest($requestXmlBody);
if (stristr($responseXml, 'HTTP 404') || $responseXml == ''):
die('<P>Error sending request');
endif;
$xml = simplexml_load_string($responseXml);
$json = json_encode($xml);
$array = json_decode($json, TRUE);
var_dump($array);
結語
多參考一下官方的範例去寫,最主要要了解參數的意義,還有就是獲取回傳的值,把資料放入到自己的資料庫,在去做篩選動作,或者去做其他操作,多嘗試多看文件,預祝大家系統成功!
參考資料
eBay api文件
http://developer.ebay.com/Devzone/xml/docs/Reference/ebay/index.html
作者資料
暱稱:蒼鴻、老鷹、eagle
QQ號 : 1486394478
Skype : chingfeng18@hotmail.com
Mail:
chingfeng18@hotmail.com
chingfeng18@gmail.com
chingfeng提到:
一個人去銀行要做什麼事情?
這是搶刧....來, 把錢裝這個袋子....
銀行有這個應用程式喔!
他會先按個按鈕在傳回....yes!
chingfeng提到:
一個人去銀行 你要做什麼事情
不是應該問櫃台美眉 妳幾點下班嗎?
iT邦幫忙MVPtecksin提到:
櫃台美眉
確定櫃台不是阿姨嗎
確定櫃台不是阿姨嗎
以老鷹多年經驗!
櫃檯是美眉機率有80%
chingfeng提到:
櫃檯是美眉機率有80%
雖然80%美眉櫃檯,20%阿姨櫃檯。
根據80-20法則。
老鷹有20%的機率能遇到美眉櫃檯,有80%的機率遇到阿姨櫃檯。
豹子...通殺...
cdfu提到:
豹子...通殺...
原來豹子比老鷹厲害
老鷹只能吃80%的美眉